package com.anti.modular.bus.houselease.entity;

import com.anti.commom.support.model.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 房间租约
 *
 * @author anti
 * @date 2021-05-06 09:30:21
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Entity
@Table(name="house_lease")
public class HouseLease extends BaseEntity {

    /**
     * 主键id
     */
    @Id
    private Long id;

    /**
     * 在租房间id
     */
    private Long roomId;

    /**
     * 在租房间名称
     */
    private String roomName;

    /**
     * 承租人姓名
     */
    private String name;

    /**
     * 聯係方式
     */
    private String phone;

    /**
     * 身份证号
     */
    private String idCard;

    /**
     * 身份证正面照
     */
    private String idCardImagesFront;

    /**
     * 身份证反面照
     */
    private String idCardImagesBack;

    /**
     * 相册 （图片id以逗号分隔开）
     */
    private String images;

    /**
     * 租期开始时间
     */
    private Date rentStartDate;

    /**
     * 租期结束时间
     */
    private Date rentEndDate;

    /**
     * 每月租金
     */
    private BigDecimal rent;

    /**
     * 每月押金
     */
    private BigDecimal deposit;

    /**
     * 当前正在生效的账单id
     */
    private Long billId;

    /**
     * 下一个生效的账单id
     */
    private Long nextBillId;

    /**
     * 收租周期
     */
    private String receiptCycle;

    /**
     * 付 （字典 付1-付18）
     */
    private Integer receiptFu;

    /**
     * 押 （字典 押1-押18-自定义19）
     */
    private Integer receiptYa;

    /**
     * 依据（字典 1日 2月 3年）
     */
    private Integer receiptYj;

    /**
     *  账单起始日（0 起租日 1日，2日......）
     */
    private Integer billStart;

    /**
     * 账单收租日日 （字典 0提前  1 固定）
     */
    private Integer billEndType;

    /**
     * 账单收租日提前几日
     */
    private Integer billEndTqData;

    /**
     * 账单收租日固定几月（有正负）
     */
    private Integer billEndGdmonthData;

    /**
     * 账单收租日固定几日
     */
    private Integer billEndGddayData;

    /**
     * 租金水电是否分开收取（1 是 0不是）
     */
    private Integer hydropower;

    /**
     * '水电周期'
     */
    private Integer hydropowercycle;

    /**
     * 水电账单起始日（0 起租日 1日，2日......）
     */
    private Integer hydropowerBillStart;

    /**
     * 水电账单收租日日 （字典 0提前 1 固定）
     */
    private Integer hydropowerBillEndType;

    /**
     * '水电账单收租日提前几日'
     */
    private Integer hydropowerBillEndTqData;

    /**
     * 水电账单收租日固定几月（有正负）
     */
    private Integer hydropowerBillEndGdmonthData;

    /**
     * '水电账单收租日固定几日'
     */
    private Integer hydropowerBillEndGddayData;

    /**
     * 收租提醒开关（1 开启 0关闭）
     */
    private Integer rentReminderSwitch;

    /**
     * 收租提醒提前 天
     */
    private Integer rentReminderDay;

    /**
     * 收租提醒提前 小时
     */
    private Integer rentReminderHour;

    /**
     * 收租提醒提前 分钟
     */
    private Integer rentReminderMinutes;

    /**
     * 备注
     */
    private String remark;

    /**
     * 租约状态 1 生效 2已退租 3结算状态
     */
    private Integer leaseStatus;

    /**
     * 退租日期
     */
    private Date retrieveDate;

    /**
     * 退租操作人
     */
    private Long retrieveUser;

    /**
     * 状态（字典 0正常 1注銷 2刪除）
     */
    private Integer status;

}
